package com.ruoyi.mall.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 会员对象 mall_member_user
 *
 * @author ruoyi
 * @date 2021-11-25
 */
public class MallMemberUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 手机号 */
    @Excel(name = "手机号")
    private String mobile;

    /** 微信号 */
    private String wechat;

    /** 性别: 0 未知, 1 男, 2 女 */
    private String sex;

    /** openId */
    private String openid;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String avatar;

    /** 用户名称 */
    @Excel(name = "用户名称")
    private String name;

    /** 用户密码(授权登录的话 暂时没用) */
    private String password;

    /** token */
    private String token;

    /** 账户状态:0 正常 1 冻结 */
    @Excel(name = "账户状态:0 正常 1 冻结")
    private String status;

    /** 推荐人ID */
    private Long introUser;

    /** 余额 */
    private BigDecimal money;

    /** 推荐人信息 */
    @Excel(name = "推荐人信息")
    private String introUserInfo;

    /** 历史消费金额 */
    private BigDecimal allMoney;

    /** 分享时的二维码图片 */
    private String qrCode;

    /** 注册时间 */
    @Excel(name = "注册时间")
    private String createAt;

    /** 修改时间 */
    private String updateAt;

    /** (正常进入)用户一天最多买X商品，为0不受限制 */
    @Excel(name = "(正常进入)用户一天最多买X商品，为0不受限制")
    private Integer dayMaxBuyProduct;

    /** 删除标记 */
    private String delFlag;

    /** (提前进入)用户一天最多买X商品，为0不受限制 */
    @Excel(name = "(提前进入)用户一天最多买X商品，为0不受限制")
    private Integer advanceDayMaxBuyProduct;

    /** 支付宝二维码 */
    @Excel(name = "支付宝二维码")
    private String alipayCode;

    /** 微信二维码 */
    @Excel(name = "微信二维码")
    private String wxCode;

    /** 银行绑定姓名 */
    @Excel(name = "银行绑定姓名")
    private String bankFullName;

    /** 银行绑定手机号 */
    @Excel(name = "银行绑定手机号")
    private String bankPhone;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String bankNumber;

    /** 银行开户行 */
    @Excel(name = "银行开户行")
    private String bankName;

    /** 收货人【认证】 */
    @Excel(name = "收货人【认证】")
    private String linkman;

    /** 省ID【认证】 */
    @Excel(name = "省ID【认证】")
    private Integer provinceId;

    /** 市ID【认证】 */
    @Excel(name = "市ID【认证】")
    private Integer cityId;

    /** 区ID【认证】 */
    @Excel(name = "区ID【认证】")
    private Integer areaId;

    /** 省名【认证】 */
    @Excel(name = "省名【认证】")
    private String province;

    /** 市名【认证】 */
    @Excel(name = "市名【认证】")
    private String city;

    /** 区名【认证】 */
    @Excel(name = "区名【认证】")
    private String area;

    /** 详细地址【认证】 */
    @Excel(name = "详细地址【认证】")
    private String address;

    /** 用户签名图片 */
    @Excel(name = "用户签名图片")
    private String signimgurl;

    /** 签名审核状态：1-用户提交  2-审核拒绝  */
    @Excel(name = "签名审核状态：1-用户提交  2-审核拒绝 ")
    private Integer auditsignimgurl;

    /** 原因 */
    @Excel(name = "原因")
    private String auditsignimgurlremark;

    /** 用户可进区域ID */
    @Excel(name = "用户可进区域ID")
    private String regionId;

    /** 提前X分钟 */
    @Excel(name = "提前X分钟")
    private Integer minute;

    /** 失效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "失效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expires;

    /** 是否拉黑：0-否 1-是 */
    @Excel(name = "是否拉黑：0-否 1-是")
    private Integer isBlock;

    /** 累计获得 */
    private BigDecimal allGain;
    /** 今日获得 */
    private BigDecimal todayGain;
    /** 近七日获得 */
    private BigDecimal sevenDaysGain;

    private String sessionKey;

    public String getSessionKey() {
        return sessionKey;
    }

    public void setSessionKey(String sessionKey) {
        this.sessionKey = sessionKey;
    }

    public BigDecimal getAllGain() {
        return allGain;
    }

    public void setAllGain(BigDecimal allGain) {
        this.allGain = allGain;
    }

    public BigDecimal getTodayGain() {
        return todayGain;
    }

    public void setTodayGain(BigDecimal todayGain) {
        this.todayGain = todayGain;
    }

    public BigDecimal getSevenDaysGain() {
        return sevenDaysGain;
    }

    public void setSevenDaysGain(BigDecimal sevenDaysGain) {
        this.sevenDaysGain = sevenDaysGain;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setWechat(String wechat)
    {
        this.wechat = wechat;
    }

    public String getWechat()
    {
        return wechat;
    }
    public void setSex(String sex)
    {
        this.sex = sex;
    }

    public String getSex()
    {
        return sex;
    }
    public void setOpenid(String openid)
    {
        this.openid = openid;
    }

    public String getOpenid()
    {
        return openid;
    }
    public void setAvatar(String avatar)
    {
        this.avatar = avatar;
    }

    public String getAvatar()
    {
        return avatar;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setPassword(String password)
    {
        this.password = password;
    }

    public String getPassword()
    {
        return password;
    }
    public void setToken(String token)
    {
        this.token = token;
    }

    public String getToken()
    {
        return token;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setIntroUser(Long introUser)
    {
        this.introUser = introUser;
    }

    public Long getIntroUser()
    {
        return introUser;
    }
    public void setMoney(BigDecimal money)
    {
        this.money = money;
    }

    public BigDecimal getMoney()
    {
        return money;
    }
    public void setIntroUserInfo(String introUserInfo)
    {
        this.introUserInfo = introUserInfo;
    }

    public String getIntroUserInfo()
    {
        return introUserInfo;
    }
    public void setAllMoney(BigDecimal allMoney)
    {
        this.allMoney = allMoney;
    }

    public BigDecimal getAllMoney()
    {
        return allMoney;
    }
    public void setQrCode(String qrCode)
    {
        this.qrCode = qrCode;
    }

    public String getQrCode()
    {
        return qrCode;
    }
    public void setCreateAt(String createAt)
    {
        this.createAt = createAt;
    }

    public String getCreateAt()
    {
        return createAt;
    }
    public void setUpdateAt(String updateAt)
    {
        this.updateAt = updateAt;
    }

    public String getUpdateAt()
    {
        return updateAt;
    }
    public void setDayMaxBuyProduct(Integer dayMaxBuyProduct)
    {
        this.dayMaxBuyProduct = dayMaxBuyProduct;
    }

    public Integer getDayMaxBuyProduct()
    {
        return dayMaxBuyProduct;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setAdvanceDayMaxBuyProduct(Integer advanceDayMaxBuyProduct)
    {
        this.advanceDayMaxBuyProduct = advanceDayMaxBuyProduct;
    }

    public Integer getAdvanceDayMaxBuyProduct()
    {
        return advanceDayMaxBuyProduct;
    }
    public void setAlipayCode(String alipayCode)
    {
        this.alipayCode = alipayCode;
    }

    public String getAlipayCode()
    {
        return alipayCode;
    }
    public void setWxCode(String wxCode)
    {
        this.wxCode = wxCode;
    }

    public String getWxCode()
    {
        return wxCode;
    }
    public void setBankFullName(String bankFullName)
    {
        this.bankFullName = bankFullName;
    }

    public String getBankFullName()
    {
        return bankFullName;
    }
    public void setBankPhone(String bankPhone)
    {
        this.bankPhone = bankPhone;
    }

    public String getBankPhone()
    {
        return bankPhone;
    }
    public void setBankNumber(String bankNumber)
    {
        this.bankNumber = bankNumber;
    }

    public String getBankNumber()
    {
        return bankNumber;
    }
    public void setBankName(String bankName)
    {
        this.bankName = bankName;
    }

    public String getBankName()
    {
        return bankName;
    }
    public void setLinkman(String linkman)
    {
        this.linkman = linkman;
    }

    public String getLinkman()
    {
        return linkman;
    }
    public void setProvinceId(Integer provinceId)
    {
        this.provinceId = provinceId;
    }

    public Integer getProvinceId()
    {
        return provinceId;
    }
    public void setCityId(Integer cityId)
    {
        this.cityId = cityId;
    }

    public Integer getCityId()
    {
        return cityId;
    }
    public void setAreaId(Integer areaId)
    {
        this.areaId = areaId;
    }

    public Integer getAreaId()
    {
        return areaId;
    }
    public void setProvince(String province)
    {
        this.province = province;
    }

    public String getProvince()
    {
        return province;
    }
    public void setCity(String city)
    {
        this.city = city;
    }

    public String getCity()
    {
        return city;
    }
    public void setArea(String area)
    {
        this.area = area;
    }

    public String getArea()
    {
        return area;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setSignimgurl(String signimgurl)
    {
        this.signimgurl = signimgurl;
    }

    public String getSignimgurl()
    {
        return signimgurl;
    }
    public void setAuditsignimgurl(Integer auditsignimgurl)
    {
        this.auditsignimgurl = auditsignimgurl;
    }

    public Integer getAuditsignimgurl()
    {
        return auditsignimgurl;
    }
    public void setAuditsignimgurlremark(String auditsignimgurlremark)
    {
        this.auditsignimgurlremark = auditsignimgurlremark;
    }

    public String getAuditsignimgurlremark()
    {
        return auditsignimgurlremark;
    }
    public void setRegionId(String regionId)
    {
        this.regionId = regionId;
    }

    public String getRegionId()
    {
        return regionId;
    }
    public void setMinute(Integer minute)
    {
        this.minute = minute;
    }

    public Integer getMinute()
    {
        return minute;
    }
    public void setExpires(Date expires)
    {
        this.expires = expires;
    }

    public Date getExpires()
    {
        return expires;
    }
    public void setIsBlock(Integer isBlock)
    {
        this.isBlock = isBlock;
    }

    public Integer getIsBlock()
    {
        return isBlock;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("phone", getPhone())
                .append("mobile", getMobile())
                .append("wechat", getWechat())
                .append("sex", getSex())
                .append("openid", getOpenid())
                .append("avatar", getAvatar())
                .append("name", getName())
                .append("password", getPassword())
                .append("token", getToken())
                .append("status", getStatus())
                .append("introUser", getIntroUser())
                .append("money", getMoney())
                .append("introUserInfo", getIntroUserInfo())
                .append("allMoney", getAllMoney())
                .append("qrCode", getQrCode())
                .append("createAt", getCreateAt())
                .append("updateAt", getUpdateAt())
                .append("dayMaxBuyProduct", getDayMaxBuyProduct())
                .append("delFlag", getDelFlag())
                .append("advanceDayMaxBuyProduct", getAdvanceDayMaxBuyProduct())
                .append("alipayCode", getAlipayCode())
                .append("wxCode", getWxCode())
                .append("bankFullName", getBankFullName())
                .append("bankPhone", getBankPhone())
                .append("bankNumber", getBankNumber())
                .append("bankName", getBankName())
                .append("linkman", getLinkman())
                .append("provinceId", getProvinceId())
                .append("cityId", getCityId())
                .append("areaId", getAreaId())
                .append("province", getProvince())
                .append("city", getCity())
                .append("area", getArea())
                .append("address", getAddress())
                .append("signimgurl", getSignimgurl())
                .append("auditsignimgurl", getAuditsignimgurl())
                .append("auditsignimgurlremark", getAuditsignimgurlremark())
                .append("regionId", getRegionId())
                .append("minute", getMinute())
                .append("expires", getExpires())
                .append("isBlock", getIsBlock())
                .toString();
    }
}
